home *** CD-ROM | disk | FTP | other *** search
/ 10,000 Great Games / 10,000 Great Games.iso / Product / 66 / data1.cab / Source_Files / Src / Error.cpp < prev    next >
C/C++ Source or Header  |  2000-01-16  |  1KB  |  67 lines

  1. #include "stdafx.h"
  2.  
  3. #include <stdarg.h>
  4.  
  5. void info(char *msg, ...)
  6. {
  7.     va_list arg;
  8.     char m[256];
  9.         
  10.     va_start(arg, msg);
  11.     vsprintf(m, msg, arg);
  12.  
  13.     if (!inawin && DD != 0)
  14.         DD->FlipToGDISurface();
  15.  
  16.     AfxMessageBox(m, MB_OK | MB_ICONINFORMATION | MB_APPLMODAL);    
  17. }
  18.  
  19. void warning(char *msg, ...)
  20. {
  21.     va_list arg;
  22.     char m[256];
  23.     
  24.     va_start(arg, msg);
  25.     vsprintf(m, msg, arg);
  26.  
  27.     if (!inawin && DD != 0)
  28.         DD->FlipToGDISurface();
  29.     
  30.     AfxMessageBox(m, MB_OK | MB_ICONEXCLAMATION | MB_APPLMODAL);    
  31. }
  32.  
  33. void error(char *msg, ...)
  34. {
  35.     // Mechanism to prevent errors in error routine
  36.  
  37.     static int error_depth = 0;
  38.     error_depth++;
  39.     
  40.     if (error_depth > 1)
  41.         exit(1);
  42.  
  43.     // Translate the message
  44.  
  45.     va_list arg;
  46.     char m[256];
  47.  
  48.     va_start(arg, msg);
  49.     vsprintf(m, msg, arg);
  50.     
  51.     // Free some game resources for cleaner exit
  52.     
  53.     deinit_game();
  54.  
  55.     // Release clip (if any)
  56.  
  57.     ClipCursor(0);
  58.  
  59.     // Show box
  60.  
  61.     AfxMessageBox(m, MB_OK | MB_ICONERROR | MB_APPLMODAL);      
  62.  
  63.     // Exit
  64.  
  65.     exit(1);
  66. }
  67.